package com.five.admin.service.impl;


import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.five.admin.dao.ArticleTypeMapper;
import com.five.admin.service.ArticleTypeService;
import com.five.entity.ArticleType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * <p>
 * 文章分类表 服务实现类
 * </p>
 *
 * @author star
 * @since 2021-06-16
 */
@Service
public class ArticleTypeServiceImpl extends ServiceImpl<ArticleTypeMapper, ArticleType> implements ArticleTypeService {

    @Autowired
    private ArticleTypeMapper articleTypeMapper;

    @Override
    public List<ArticleType> findAll() {
        return articleTypeMapper.findAll();
    }

    @Override
    public void insertArticleType(String name) {
        articleTypeMapper.insertArticleType(name);
    }

    /**
     * 文章类型列表
     * @return
     */
    @Override
    public List<ArticleType> getArticleType() {
        List<ArticleType> list = articleTypeMapper.selectArticleType();
        return list;
    }

    /**
     * 修改文章类别信息
     * @param articleType
     * @return
     */
    @Override
    public int updateArticleType(ArticleType articleType) {
        return articleTypeMapper.updateArticleType(articleType);
    }

    /**
     * 根据文章ID查询文章类别
     * @param id
     * @return
     */
    @Override
    public ArticleType findById(long id) {
        return articleTypeMapper.findById(id);
    }

    /**
     * 根据ID删除文章类别
     * @param id
     */
    @Override
    public void deleteArticleType(long id) {
        articleTypeMapper.deleteArticleType(id);
    }

    @Override
    public void deleteSelectArticleType(long[] ids) {
        for(int i = 0; i < ids.length; i++){
            articleTypeMapper.deleteArticleType(ids[i]);
        }
    }

    /**
     * 模糊查询
     * @param name
     * @return
     */
    @Override
    public List<ArticleType> fuzzyQueryByTypename(String name, int page) {
        return articleTypeMapper.fuzzyQueryByTypename(name,(page-1)*10);
    }

    /**
     * 计算文章类别总数
     * @param name
     * @return
     */
    @Override
    public int countArticleType(String name) {
        return articleTypeMapper.countArticleType(name);
    }
}
